МакКарти –
известный теоретик компьютерных наук. В одной из своих работ он определил
рекурсивную функцию f91, которая определена для всякого натурального числа n следующим образом:
Если n
≤ 100, то f91(n) = f91(f91(n + 11));
Если n
≥ 101, то f91(n) = n – 10.
Вход. Натуральное число n,
не большее 1000000.
Выход. Значение f91(n).
Пример
входа |
Пример
выхода |
500 |
490 |
рекуррентное
соотношение
Необходимо вычислить значения функции f91(n)
для n £ 100.
Имеем: f91(100) = f91(f91(111)) = f91(101)
= 91, f91(99) = f91(f91(110)) = f91(100) = 91.
Аналогично продолжая, можно заметить что f91(n) = 91, где 1 £ n £ 100.
Таким образом, имеет место соотношение:
f91(n) =
Выводим результат
согласно приведенному выше соотношению.
scanf("%d",&n);
if (n >= 101) res = n - 10; else res = 91;
printf("%d\n",res);